using System;

namespace MyApp
{

	class Program
	{
		static void Main(string[] args)
		{

			Console.WriteLine("\n\t\t-/- Программа вычисления цилиндра -/-");
			Console.WriteLine("=============================================================================\n");
				Console.ForegroundColor = ConsoleColor.Yellow;
			Console.WriteLine("Formulas:");
		    		Console.ForegroundColor = ConsoleColor.White;
			Console.Write("| Площадь полной поверхности >> ");
				Console.ForegroundColor = ConsoleColor.Yellow;
			Console.WriteLine("Площадь = 2 * PI * радиус * (радиус * высота)");
				Console.ForegroundColor = ConsoleColor.White;
			Console.Write("| Объем цилиндра >> ");
				Console.ForegroundColor = ConsoleColor.Yellow;
			Console.WriteLine("Объем = PI * 2^2 * высота");
				Console.ForegroundColor = ConsoleColor.White;
			Console.WriteLine("\n=============================================================================\n");
			

			Console.Write("Введите кол-во цилиндров, с которыми будут производиться вычисления: ");
			int index = Convert.ToInt32(Console.ReadLine());

			//внесение в массив значения площади поверхности цилиндра	
			Roller[] rollerArray = new Roller[index];
			for(int i = 0; i < rollerArray.Length; i++)
			{
				Console.WriteLine("\n=-=-=-=-=-=-=-=-=-=-=-=");
				Console.ForegroundColor = ConsoleColor.Red;
				Console.WriteLine( (i + 1) + "`ый цилиндр" );
				Console.ForegroundColor = ConsoleColor.White;
				
				rollerArray[i].InputRH();
				rollerArray[i].CalcPlosPol();
				rollerArray[i].CalcVolume();
			}
			Console.WriteLine();
			
	
		} //конец основного метода

	} //конец класса

			struct Roller 
			{
			
				public double radius, height;
				public double ploshad, volume; //результаты

		
				//конструктор инициализации цилиндра
				public Roller(double height, double radius)
				{
			
					this.height = height;
					this.radius = radius;
					ploshad = 0;
					volume = 0;
				}

				//метод ввода данных
				public void InputRH()
				{
					Console.Write("Введите радиус 'r': ");
					radius = Convert.ToInt32(Console.ReadLine());
					Console.Write("Введите высоту 'h': ");
					height = Convert.ToInt32(Console.ReadLine());

				}
		
				//метод вычисления полной площади 
				public double CalcPlosPol() 
				{
					Console.WriteLine("\n\tПолная площадь цилиндра:"); 
						Console.ForegroundColor = ConsoleColor.Green;
					Console.Write("\tResult >> ");
						Console.ForegroundColor = ConsoleColor.White;

					ploshad = 2 * Math.PI * radius * (radius * height);

					Console.WriteLine($"S = {ploshad:.##}"); 	

					return ploshad;
				}

				//метод вычисления объема 
				public double CalcVolume()
				{
				Console.WriteLine("\n\tОбъем цилиндра:");
					Console.ForegroundColor = ConsoleColor.Yellow;
				Console.Write("\tResult >> ");
					Console.ForegroundColor = ConsoleColor.White;

				volume = Math.PI * Math.Pow(radius, 2) * height;	 

				Console.WriteLine($"V = {volume:.##}");

				return volume;
				} 

			} //конец структуры

} //конец пространства имен
